Make accel labels ellipsize correctly. (#151559, Christian Persch)
authorMatthias Clasen <maclas@gmx.de>
Wed, 1 Sep 2004 06:39:59 +0000 (06:39 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 1 Sep 2004 06:39:59 +0000 (06:39 +0000)
Wed Sep  1 02:38:48 2004  Matthias Clasen  <maclas@gmx.de>

* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
accel labels ellipsize correctly.  (#151559, Christian Persch)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkaccellabel.c

index b40fded4037a248134c011c275043c026d39a9bb..870a8a8dc6b91b2fd0ed707969b58c704b2771aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Sep  1 02:38:48 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
+       accel labels ellipsize correctly.  (#151559, Christian Persch)
+
 Wed Sep  1 00:55:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter
index b40fded4037a248134c011c275043c026d39a9bb..870a8a8dc6b91b2fd0ed707969b58c704b2771aa 100644 (file)
@@ -1,3 +1,8 @@
+Wed Sep  1 02:38:48 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
+       accel labels ellipsize correctly.  (#151559, Christian Persch)
+
 Wed Sep  1 00:55:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter
index b40fded4037a248134c011c275043c026d39a9bb..870a8a8dc6b91b2fd0ed707969b58c704b2771aa 100644 (file)
@@ -1,3 +1,8 @@
+Wed Sep  1 02:38:48 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
+       accel labels ellipsize correctly.  (#151559, Christian Persch)
+
 Wed Sep  1 00:55:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter
index b40fded4037a248134c011c275043c026d39a9bb..870a8a8dc6b91b2fd0ed707969b58c704b2771aa 100644 (file)
@@ -1,3 +1,8 @@
+Wed Sep  1 02:38:48 2004  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Make
+       accel labels ellipsize correctly.  (#151559, Christian Persch)
+
 Wed Sep  1 00:55:56 2004  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkimage.c (gtk_image_clear): Don't leak the iter
index 3fd72f73964cf3342cc3ee7ca68f5539f28a65a0..8392552b73accd9f969c1c9c96682d06e623ccb6 100644 (file)
@@ -320,6 +320,7 @@ gtk_accel_label_expose_event (GtkWidget      *widget,
        {
          PangoLayout *label_layout;
          PangoLayout *accel_layout;
+         GtkLabel *label = GTK_LABEL (widget);
 
          gint x;
          gint y;
@@ -327,11 +328,20 @@ gtk_accel_label_expose_event (GtkWidget      *widget,
          if (direction == GTK_TEXT_DIR_RTL)
            widget->allocation.x += ac_width;
          widget->allocation.width -= ac_width;
+         if (gtk_label_get_ellipsize (label))
+           pango_layout_set_width (label->layout,
+                                   pango_layout_get_width (label->layout) 
+                                   - ac_width * PANGO_SCALE);
+         
          if (GTK_WIDGET_CLASS (parent_class)->expose_event)
            GTK_WIDGET_CLASS (parent_class)->expose_event (widget, event);
          if (direction == GTK_TEXT_DIR_RTL)
            widget->allocation.x -= ac_width;
          widget->allocation.width += ac_width;
+         if (gtk_label_get_ellipsize (label))
+           pango_layout_set_width (label->layout,
+                                   pango_layout_get_width (label->layout) 
+                                   + ac_width * PANGO_SCALE);
          
          if (direction == GTK_TEXT_DIR_RTL)
            x = widget->allocation.x + misc->xpad;